Site cover image

Site icon imageSen(Qian)’s Memo

This website is Donglin Qian (Torin Sen)’s memo, especially about machine learning papers and competitive programming.

2020-AAAICAI-Class Prior Estimation with Biased Positives and Unlabeled Examples

https://ojs.aaai.org/index.php/AAAI/article/view/5848

Introduction

PU Learningで選択バイアスが生じると、Class Priorの推定もずれてくる。ここでBiasの影響をできるだけ排した、Class Priorの推定をしたのがこの論文である。

この論文では、3つの重要な仮定を置き、その元での手法を開発した。

Background

  • データはxRn\mathbf{x} \in \mathbb{R}^nであり、ラベル空間は{0,+1}\{0, +1\}とする。
  • 得られた分布は、ハイパーパラメタα\alphaと、2つの分布f0,f1f_0, f_1によって、以下のように合成されたと考える。
f=αf1+(1α)f0f = \alpha f_1 + (1 - \alpha) f_0
  • しかし、上の形だと一定に定まらないそうなので、以下のようにする。
Image in a image block

推測のやり方

この論文で基本にしてるのはAlphaMaxというアルゴリズムであり、nonparametricでclass priorを推測する。考えとしては、最適解の周りは急激に変化しているので、周りのGradientの変化が最も急なところを最適解とするというもの。

具体的には、何かしらの確率などにCalibrationされたf(x)f(\mathbf{x})に対して、Pr(f(x)α)Pr(f(\mathbf{x})|\alpha)を複数個のα\alphaでサンプリングして、そこから曲線にあてはめて?曲がりが最大の変曲点を見つける感じ。

Theoretical Framework

考えている問題設定としては以下のようなもの。

Image in a image block
  • Unlabeledの分布はffであり、これはNegtaiveの確率分布f0f_0とPositiveの確率分布f1f_1を、ある割合π=p(y=+1)\pi=p(y=+1)で混合したものである。f=πf1+(1π)f0f=\pi f_1 + (1 - \pi) f_0
  • Positiveの分布f1f_1^\primeであり、これは真のPositiveの確率分布f1f_1とは違う=Biasedである。

定式化としては、以下のように何かしらの基底ϕi\phi_iがあるとして、f1,f1f_1, f_1^\primeは違う。

Image in a image block

ある分布を構成する係数が一意になるように、φ irreducibilityという仮定を導入した。具体的には、Negativef0f_0は、非自明な基底φの合成で合成できないとしているらしい。

そのうえ、各Kernelの基底ϕi,ϕj\phi_i, \phi_jの台=supportは重ならないとも仮定

Identifiability

ようわからん

もしf0f_0はφ irreducibilityを持つ場合、ある分布に対して、係数の組成はユニークらしい。

Estimating Algorithm

Biased PU Dataを複数個のUnbiased PU Dataに分解し、そこからAlphaMaxのアルゴリズムを使いたい。最後に分解した各データからの情報を統合したい。

  1. データセットをKK個の集合BiB_iに分割する。これはk-meansなどのクラスタリングアルゴリズムを使う。
    1. この手法では、まずPositive Dataについてk-meansで分割する(シルエット係数というものを最大化するようなKKを選ぶらしい)。
    2. 次にUnlabeledを、すでに計算されたクラスタの中心との距離に基づいて分割する。
  2. 各集合BiB_iについて、何かしらのSupportがお互いかぶらないKernel基底の分布ϕi\phi_iに従うとする。
    1. Positiveデータは、Kernel基底の分布ϕi\phi_iに従って生成されるとする。
      1. ϕi\phi_iはお互いに台がかぶらないというが、k-meansでクラスタリングしている以上、割り当てられたエリアのデータしか生成しないので、確かに台がかぶらないという前提からクラスタリングという発想はわかる。
    2. Unlabeledデータは、別の分布ψi\psi_iに従う。
    3. つまり、各BiB_iは、λiϕi+(1λi)ψi\lambda_i^* \phi_i + (1 - \lambda_i^*)\psi_iの合成分布によってサンプリングされる。
  3. γi=λipi/α\gamma_i=\lambda_i^* p_i / \alpha^*ζi=(ψiλiϕi)/(aλi)\zeta_i = (\psi_i - \lambda_i^* \phi_i)/(a-\lambda_i^*)
    1. pip_iは全体の中で占めるBiB_iの個数の割合。
    2. なので、γipi\gamma_i^* p_iは、全体の中でのϕi\phi_iに従うものの割合である。
      1. これに従う各分布ϕi\phi_iで合成すれば、Positiveの推定分布f1f_1^*になる。
    3. ζi\zeta_iBiB_iのUnlabeledのデータで、ϕi\phi_iに対応しない残りの部分を示す分布。
      1. これに従う各分布ζi\zeta_iで合成すれば、Unlabeledの推定分布f0f_0^*になる。
    4. これらで推定すると、以下のようになる。
    Image in a image block

一番求めたいα\alpha^*の推定は、λi,pi\lambda_i^*, p_iが必要で、k-meansで各クラスタに分ければ、前者はAlphaMaxで推定でき後者もおのずとわかる。そしてついでにf1,f0f_1^*, f_0^*も、データから分布を(パラメトリック、ノンパラメトリック問わず)推定できれば、おのずとわかるかんじ

アルゴリズムとしてはこんな感じである。

Image in a image block